Method for determining load parameters for a manipulator

ABSTRACT

A method for determining a number of load parameters (m l , x l , r l , α l , I x , I y , I z ) for a load ( 6 ) which is carried by a manipulator. The manipulator comprises a number of links ( 2,3,4 ) which are movable in relation to one another, a handling member ( 5 ) for supporting a tool, which handling member is movable in relation to said links, a number of axes (A 1 -A 6 ) around which the links or the handling member are/is movable as well as a motor for each axis which drives the movement of the axis in accordance with supplied reference values for the torque of the motor. According to the method, the manipulator adopts two selected axis configurations. A number of identification axes are appointed. The manipulator is run such that the identification axes carry out a plurality of movements according to predetermined patterns. During these movements, the motor torque and the axis angle are measured. The moments of gravitational force of the identification axes are calculated on the basis of measured motor torques during a first movement. The mass inertia is calculated with correlation between measured motor torques and calculated acceleration during a second movement. The load parameters are calculated from the calculated moments of gravitational force and the mass inertias with the aid of the movement equations of the identification axes.

TECHNICAL FIELD

The invention relates to a method for determining dynamic parameters ina dynamic model of a manipulator. In particular, it relates to dynamicparameters for tool loads and arm loads, so-called load parameters.

BACKGROUND ART

By manipulator is meant an industrial robot or external axes connectedto the industrial robot, for example for orientation and movement of awork object or for movement of the robot itself. A manipulator comprisesone or more arms which are movable in relation to one another, and ahandling member which is provided with a tool attachment and which ismovable relative to the arm which supports it. The handling member may,for example, be a single platform or a robot hand which is movable inone or more degrees of freedom. The manipulator is provided with acontrol system which controls the position and orientation of thehandling member. For each one of the movement axes of the manipulator,servo equipment with a drive motor is provided. The servo system of eachaxis is supplied with a reference value for the angle of rotation of theaxis and the drive motor of the axis brings the manipulator to move inthe axis in question until the axis position corresponds to thereference value supplied to the servo system.

By an axis are meant axis transmissions which may give rise to bothrotation and translation of the movable arms and the handling member ofthe manipulator.

When the manipulator moves, its axes are subjected to forces and torqueswhich originate from dynamic effects such as mass inertia, coupled massinertia, Coriolis forces, centrifugal forces, the gravitational force,static friction and dynamic friction. In connection with robots, staticfriction means sliding friction in bearings and gear wheels. Thisfriction depends on the sign of the velocity but not on the magnitudethereof. By dynamic friction is meant that friction which increases withthe magnitude of the velocity and which depends on friction in oil,seals, etc. To be able to control the manipulator with high accuracy andmaximum velocity, it is necessary that the servo system shouldcompensate for the forces and torques which are caused by the dynamiceffects.

How the dynamic effects influence each one of the axes of themanipulator may be described by means of a dynamic model for themanipulator. The dynamic model consists of the movement equation systemof the robot. From the dynamic model, the forces and torques which actin each one of the axes may be calculated. A condition for being able tocontrol the movements of the manipulator with high accuracy is that thedynamic effects during the movements may be calculated accurately. Thedynamic model comprises model parameters which must be known in order tobe able to calculate the dynamic effects. These model parameterscomprise mass, centre of gravity and mass inertia for the parts of themanipulator and the load thereof. The dynamic effects from themanipulator parts which are included in the basic design of themanipulator may be calculated accurately since the masses, centres ofgravity and mass inertias of these manipulator parts are-well-known.

However, when being used, the manipulator will carry both tool loads andarm loads, and these loads may vary greatly between variousapplications. Examples of tool loads may be a tool which is mounted onthe handling member, for example a glue gun or a welding gun or aworkpiece which is moved between two points of the manipulator. Armloads may, for example, be a transformer which belongs to the tool, aroll with welding wire or a pump for gluing or painting. To obtain highperformance, the servo system including the trajectory generator mustalso compensate for the dynamic effects which arise as a result of tooland arm loads. To be able to calculate the dynamic effects from a load,the model parameters for the load, that is, the mass of the load, thecentre of gravity, and the mass inertia must be known. In the following,the model parameters of the load will be referred to as load parameters.

It is, of course, possible to find out the load parameters by weighingthe load, measuring its centre of gravity and calculating or measuringits mass inertias and then feeding these values into the control system.This method is known, for example from patent document EP 260 326. Theforces and torques which act in each one of the axes are then calculatedfrom the dynamic model, whereafter the servo system compensates forthese forces and torques. A disadvantage of this method is that, in, forexample, material handling applications, the manipulator may, in thesame installation, handle a large number of objects of different weightsand shapes, whereby the work of obtaining and feeding the loadparameters for all the objects takes a long time and there is aconsiderable risk of incorrect parameters being fed into the controlsystem.

The publication by Olsen and Bekey, “Identification of Robot Dynamics”,1986 IEEE International Conference on Robotics and Automation, pages1004-1010, discloses a method for identification of the load parameters.This method is based on an equation system of equations of movementbeing set up for the robot. The equations of movement are parametrizedin the mass parameters for the dynamic bodies of the robot. First, thegreatly non-linear movement equation system of the robot is linearized.Then, an identification is made by means of the least-squares method. Adisadvantage of this method is that also unwanted parameters as, forexample, Coulomb friction and viscous friction, must be identified. Thisimplies that errors in the identification of these unwanted parametersdirectly reduce the accuracy in the identification of the unwantedparameters. Also, unnecessary movements will be required for identifyingthe unnecessary parameters. For example, the bodies must be moved at arelatively high velocity for accurate identification of the viscousfriction. A result of this is that large robot movements are required,which is a disadvantage during load identification. An additionalproblem which implies that larger movements are required is that noisein measured motor torques and axis angles disturb the identification. Alarge number of unnecessary calculations will also be made, which is adisadvantage, especially during implementation in a real-time system.Still another problem is that the linearization of the non-linearmovement equations leads to identification errors which are difficult tocheck.

OBJECTS AND ADVANTAGES OF THE INVENTION

The object of the invention is to suggest an automatic method foridentification of load parameters, which is fast and reliable. To avoidthe above-mentioned disadvantages, the method shall entail a selectiveidentification of the parameters and not be based on linearization ofthe movement equations.

What characterizes a method according to the invention will become clearfrom the appended claims.

The method according to the invention has the following advantages:

the load need not be dismantled during the identification,

the identification is very fast; it takes only a few seconds,

the identification can be carried out anywhere in the operating range ofthe manipulator,

the identification requires only small movements of the manipulator, soit can be carried out in narrow spaces or at specially reservedlocations,

the identification can be carried out with different movement patterns,whereby the movement pattern which suits the current installation ischosen,

the identification can be carried out in the current application programwithout any special movements having to be made.

The above-mentioned advantages are achieved partly by using acorrelation method for identification of the dynamic parameters of axes,partly by making this identification selectively for the gravitation,mass inertia and coupled mass inertia of the axes, and partly bycalculating the load parameters exactly from the dynamic parameters ofthe axes by using the movement equations of the axes. The correlationmethod is integrating over the whole movement and therefore provides agreat noise reduction with respect to the noise of the torque signalsand the position signals. By correlating the torque signals with thecalculated acceleration signals, the effect of, for example, Coulombfriction, viscous friction, Coriolis forces and centrifugal forces willbe suppressed and a selective identification of mass inertia andgravitation be obtained. By finding exact expressions for the relationbetween the dynamic parameters of the axes and the load parameters, thehigh accuracy during the identification of the dynamic parameters of theaxes will then be maintained when the load parameters are finallycalculated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically shows an industrial robot in a first configuration,in a view seen from the side.

FIG. 2 shows the robot in the first configuration, in a view seen fromthe front.

FIG. 3 shows the robot in a second configuration, in a view seen fromthe front.

FIG. 4 shows an example of a suitable axis movement when determining themoment of gravitational force for an axis.

FIG. 5 shows an example of a suitable axis movement for determining themass inertia for an axis.

FIG. 6 shows an example of a movement which may be used for identifyingthe mass inertia in case of unsymmetrical gravitation.

FIG. 7 shows an example of suitable movements for determining thecoupled mass inertia between two axes.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIGS. 1 and 2 schematically show an industrial robot in a firstconfiguration. FIG. 1 shows the robot seen from the side whereas FIG. 2shows the robot seen from the front. The foot 1 of the robot is fixedlymounted on a base. The robot has a base stand 2, which is rotatable inrelation to the foot 1 around a vertical axis A1. In the upper end ofthe base stand, a first robot arm 3 is journalled and rotatable inrelation to the base stand around a second axis A2. In the outer end ofthe arm, a second arm 4 is journalled and rotatable in relation to thefirst arm around an axis A3. The robot arm 4 comprises two parts 4 a and4 b, the outer part 4 b being rotatable in relation to the inner part 4a around an axis of rotation A4 coinciding with the longitudinal axis ofthe arm. The second arm 4 supports, at its outer end, a so-called robothand 5, which is rotatable around an axis of rotation A5 which isperpendicular to the longitudinal axis of the arm. The outer part of therobot hand is rotatable in relation to its inner part around an axis ofrotation A6. The axes A4, A5 and A6 belong to the robot hand and will bereferred to by the comprehensive term wrist axes.

The movements in all the axes of the robot comprise rotations and thepositions of the axes (angle of rotation relative to a referenceposition) are designated φ₁, φ₂ . . . φ₆. In its outer part the robothand supports a load 6. The load has the mass m₁ and the position of themass centre in relation to the robot hand may be described by thecoordinates x_(l), r_(l), α_(l). The principal mass inertias of the loadare designated I_(x), I_(y), I_(z).

For each one of the axes of the robot, a movement equation may be setup. The movement equation shows how the torque, to which the axis issubjected during the movement of the robot, depends on the dynamicmulti-body effects. The torque for an axis is normally generated by amotor via a gear. The movement equation for axis i is: $\begin{matrix}{\tau_{i} = {{{J_{i}\left( \overset{.}{\phi} \right)} \cdot {\overset{¨}{\phi}}_{i}} + \tau_{{fric},i} + {\sum\limits_{j}{{C_{{cent},j}\left( \overset{.}{\phi} \right)} \cdot {\overset{.}{\phi}}_{j}^{2}}} + {\sum\limits_{j}{{C_{{cor},j}\left( \overset{.}{\phi} \right)} \cdot {\overset{.}{\phi}}_{j} \cdot {\overset{.}{\phi}}_{i}}} + {\tau_{{grav},i}\left( \overset{.}{\phi} \right)} + {\tau_{{dynfric},i}\left( {\overset{.}{\phi}}_{i} \right)} + {\sum\limits_{j}{{J_{ji}\left( \overset{.}{\phi} \right)} \cdot {\overset{¨}{\phi}}_{j}}}}} & (1)\end{matrix}$

τ_(i): torque for axis i,

{overscore (φ)}: φ₁, φ₂ . . . , φ₆, i.e. the configuration of the robot

φ_(i): position of axis i,

{dot over (φ)}_(i): velocity of axis i,

{umlaut over (φ)}_(i): acceleration of axis i,

J_(i)({overscore (φ)}): mass inertia of axis i in a configuration givenby the angles {overscore (φ)},

J_(i)({dot over (φ)})•{umlaut over (φ)}_(i): torque contribution fromthe mass inertia,

τ_(fric,i): torque contribution from the static friction; the signdepends on the direction of the movement,$\sum\limits_{j}{{C_{{cent},j}\left( \overset{.}{\phi} \right)} \cdot {{\overset{.}{\phi}}_{j}^{2}:}}$

torque contribution from the centrifugal forces,$\sum\limits_{j}{{C_{\cot,j}\left( \overset{.}{\phi} \right)} \cdot {\overset{.}{\phi}}_{j} \cdot {{\overset{.}{\phi}}_{i}:}}$

torque contribution from Coriolis forces,

τ_(grav,i)({overscore (φ)}): torque contribution from the gravitationalforce,

τ_(dynfric,i)({dot over (φ)}_(i)): torque contribution from the dynamicfriction,

J_(ji)({overscore (φ)}): coupled mass inertia between axes i and j,$\sum\limits_{j}{{J_{ji}\left( \overset{.}{\phi} \right)} \cdot {{\overset{¨}{\phi}}_{j}:}}$

torque contribution from the coupled mass inertias.

J_(i), J_(ji), τ_(dynfric,i), τ_(grav,i), C_(cor,j), C_(cent,j),τ_(fric,i) constitute the dynamic parameters of the movement equation.As is clear from the movement equation, most of the dynamic parametersare changed with the movement of the axes, that is, they depend on theconfiguration {overscore (φ)} of the robot.

To be able to determine the load parameters m_(l), x_(l), r_(l), α_(l),I_(x), I_(y), I_(z), a number of equations must be set up, which givethe load parameters as a function of a number of known and/or measurablequantities. When the robot is in a certain configuration, given by theangles {overscore (φ)}, the moment of gravitational force, the massinertia and the coupled mass inertias of axis i are dependent on theload parameters:

τ_(grav,i)({overscore (φ)})=F_(l)({overscore(φ)},m_(l),r_(l),x_(l),α_(l))  (2)

J_(i)({overscore (φ)})=F₂({overscore(φ)},m_(l),r_(l),x_(l),α_(l),I_(x),I_(y),I_(z))  (3)

J_(ji)({overscore (φ)})=F₃({overscore(φ)},m_(l),r_(l),x_(l),α_(l),I_(x),I_(y),I_(z))  (4)

From this general equation system, which is set up for one or more axesi, expressions may be derived for each one of the load parameters:

m_(l)=H₁(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore (J)}_(ji))

x_(l)=H₂(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore (J)}_(ji))

r_(l)=H₃(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore (J)}_(ji))

α₁=H₄(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore(J)}_(ji))  (5)

I_(x)=H₅(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore (J)}_(ji))

I_(y)=H₆(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore (J)}_(ji))

I_(z)=H₇(Φ,{overscore (τ)}_(grav),{overscore (J)},{overscore (J)}_(ji))

where

p=the number of axes used during identification of the load parameters,and

k=the number of configurations included in the identification aredefined:

Φ: a p*k matrix where the elements consist of the axis angles {overscore(φ)} of the robot at the different configurations.

{overscore (τ)}_(grav): a p*k matrix where the elements consist of themoments of gravitational force τ_(grav,i)({overscore (φ)}) of the axeswhich are used during the identification of the differentconfigurations.

{overscore (J)}: a p*k matrix where the elements consist of the massinertias J_(i)({overscore (φ)}) of the axes which are used during theidentification at the different configurations.

{overscore (J)}: a p*(p−1)*k/2 matrix where the elements consist of thecoupled mass inertias J_(ji)({overscore (φ)}) between the axes i and theaxes j at the different configurations.

If the dynamic parameters τ_(grav,i)({overscore (φ)}), J_(i)({overscore(φ)}) och J_(ji)({overscore (φ)}) can be determined, then the loadparameters may be calculated. The matrices Φ, {overscore (τ)}_(grav) etcnormally contain a large number of zero-valued elements. This means thatonly few elements are needed to determine the load parameters. Theconfigurations should be chosen such that good numerical conditioning isobtained for the equation system formed, (2)-(4). In principle, it ispossible to choose arbitrary configurations, but the configurations mustbe chosen in such a way that the equation system obtained has not becomeunderdetermined and such that the conditioning parameter becomessufficiently low. The conditioning parameter is a measure of howsensitive the solution of the equation system is to disturbances ininput data and parameters. By choosing suitable configurations for therobot, the solution of the equation may be simplified, while at the sametime the numerical accuracy may be optimized.

If the load can be approximated with a point mass, that is, if the massinertia of the load is negligible, the load parameters m_(l), x_(l),r_(l), α_(l) may be calculated from one configuration only. At least twoconfigurations are required if also the mass inertia components I_(x),I_(y), I_(z) for the load are to be calculated.

Taking into consideration the above reasoning, a number of suitableconfigurations are chosen for determining the load parameters. For eachconfiguration, based on known physical and geometrical relationships, anumber of equations for each one of the load parameters are set up,equations 2-5. In these equations, the load parameters are dependent ondynamic parameters associated with the movement equation of the robot.One condition for determining the load parameters is thus that thedynamic parameters which are included in these equations can beidentified. According to the invention, the dynamic parameters for agiven configuration are determined by the robot assuming the givenconfiguration, whereupon at least one of the axes is rotated in such away that a movement according to a predetermined pattern is imparted tothe load. During the movement, the torque for the motor or motors whichdrive the movement, and/or are influenced by the movements of the otheraxes, is registered as a function of the time or the axis position.Starting from the registered motor torques and the axis angles, thedynamic parameters are identified according to some identificationmethod.

To minimize the error during the identification of the dynamicparameters, it is often an advantage that the identification take placeonly with the aid of the wrist axes (A4, A5 or A6), since uncertaintiesof the dynamic model are least for these axes and since in that way aseparation is obtained between the identification of tool loads and armloads. Since most parameters in the movement equation are changed withthe movements of the axes, the identification should be made with assmall movements as possible. In addition, the current robot installationmay give limitations to the movements of the axes. From this followsthat short movements are preferable during the identification. Usingshort movements means that the torque contributions from thevelocity-dependent forces such as Coriolis, centrifugal and dynamicfriction become small and the torque contributions from gravitation,friction, mass inertia and coupled mass inertia will dominate themovement equation.

To obtain as high accuracy as possible during the identification, themovement of the axes should be made such that as few terms as possiblein the movement equation provide contributions to the motor torque.Regardless of how the movements are chosen during the identification,the friction will still provide a contribution to the motor torque. Itis, therefore, necessary to compensate for the friction during theidentification. Depending on which identification method is used, thetorque contribution from the friction may either be identifiedsimultaneously with the other components or separately.

The following is an example of how the load parameters may be determinedwith the aid of two robot configurations. In FIGS. 1 and 2, a firstconfiguration K1 is shown and in FIG. 3 a second configuration K2 isshown, which differs from the first one only in that the axis A6 hasbeen rotated through the angle α₆. To obtain a good accuracy, it isimportant that α₆ should not be too small. From known physical andgeometrical relationships, equations may be set up which describe theload parameters as a function of the dynamic parameters. As examples,the equations for m_(l) and x_(l) are shown: $\begin{matrix}{m_{l} = {\frac{{\tau_{grav6}({K1})} \cdot \left( {{\tau_{grav5}({K1})} - {\tau_{grav05}({K1})}} \right)}{{J_{65}({K1})} \cdot g^{2}} = {H_{1}\left( {{\tau_{grav6}({K1})},{\tau_{grav5}({K1})},{J_{65}({K1})}} \right)}}} & (6) \\{x_{l} = {\frac{{J_{65}({K1})} \cdot g}{\tau_{grav6}({K1})} = {H_{2}\left( {{\tau_{grav6}({K1})},{J_{65}({K1})}} \right)}}} & (7)\end{matrix}$

 r_(l)=H₃(τ_(grav6)(K1),τ_(grav6)(K2),τ_(grav5)(K1),J₆₅(K1),m_(l),x_(l))  (8)

α_(l)=H₄(J₆₅(K1),m_(l),x_(l),r_(l))  (9)

I_(x)=H₅(τ_(grav6)(K2),τ_(grav5)(K1),J₆(K1),J₆₅(K1),r_(l))  (10)

I_(y)=H₆(τ_(grav6)(K2),J₅(K2),J₆₅(K1),m_(l),x_(l))  (11)

I_(z)=H₇(τ_(grav6)(K2),J₅(K2),J₅(K1),J₆₅(K1),m_(l),x_(l))  (12)

τ_(grav05)(K1): moment of gravitational force in axis A5 with the robotin the first configuration and without load, which is a known variable.

If the mass inertia I_(x) is negligible, m_(l), r_(l), α_(l) and x_(l)may be determined with the aid of the dynamic parametersτ_(grav5)(K1),τ_(grav6)(K1),J₆₅(K1),J₆(K1). Thus, it is sufficient witha first robot configuration to determine certain load parameters. If allthe load parameters are to be determined, at least two configurationsare required.

For calculation of all the load parameters, it is thus sufficient toidentifyτ_(grav6)(K1),τ_(grav6)(K2),τ_(grav5)(K1),J₆(K1),J₅(K2),J₅(K1),J₆₅,(K1),that is, to determine, in the first configuration, the moment ofgravitational force for axis A5 and axis A6, the mass inertia for axisA5 and axis A6 and the coupled mass inertia between axis A5 and axis A6,and to determine, in the second configuration, the moment ofgravitational force for axis A6 and the mass inertia for axis A5. Thesedynamic parameters all originate from axis A5 and axis A6, that is, theoutermost wrist axes.

In an alternative embodiment, some of the other wrist axes, axis A5 oraxis A4, may instead be rotated to arrive at the second configuration.Which of the three wrist axes is rotated is of no significance; theresult will still be the same. If axis A4 is rotated instead of axis A6in the above example, the moment of gravitational force for axis A4 andaxis A5, the mass inertia for axis A5 and axis A4 and the coupled massinertia between axis A5 and axis A4 must be identified.

One problem when determining the dynamic load parameters is that thereis a variation between the torque constants of the different motors. Ifthe torque constant, for example, has a variation of 10%, acorresponding error in the identification will be obtained. However, thetorque constant of a motor may be calibrated by mounting a load withsome known load parameter on the robot and then determining the loadparameter in accordance with the invention. It is, for example,sufficient to know only the mass of the load to identify k_(T). Thismeans that it is sufficient to weigh the load before it is mounted ontothe robot. From equation 6 the following relationship is obtained:$\begin{matrix}{k_{T} = \frac{m_{L}}{H_{1}\left( {{\tau_{grav6}({K1})},{\tau_{grav5}({K1})},{J_{65}({K1})}} \right)}} & (13)\end{matrix}$

How the movement pattern when determining the dynamic parameters may bechosen is exemplified with reference to the above-mentioned example.When the moment of gravitational force τ_(grav,i)(K1) is to bedetermined, the robot is run to the first configuration. Thereafter,axis i is given a short reciprocating movement at a constant lowvelocity. The low velocity render all velocity- andacceleration-dependent terms negligible. In the movement equation (1),then only the torque contribution from the gravitation and the torquecontribution from the static friction remain. The torque contributionfrom the gravitation is constant during the movement and the torquecontribution from the static friction is constant in magnitude butchanges signs when the movement changes direction.

During the movement, the motor torque for axis i is registered.Preferably, that torque reference signal τ_(i,ref) is registered whichthe axis servo generates to the motor. FIG. 4 shows an example of asuitable movement during identification of the moment of gravitationalforce. The figure shows both the angle of rotation φ_(i)(t) and themotor torque τ_(i,ref) as a function of time. The moment ofgravitational force may be identified by summing the mean values of themotor torques in the time intervals [t₁,t₂] and [t₃,t₄]. In that way,the contributions from the static friction cancel one another. By meansof this simple mean-value-forming method, the torque contributions fromaxis A5 and axis A6 may be accurately identified. An alternative methodfor mean-value formation is to use a low-pass filter which removes noiseand high-frequency disturbance components in the torque-referencesignal.

From the movement equation 1 it is clear that the torque contributionfrom the mass inertia on axis i depends on the acceleration of the axis.When identifying the mass inertia for a certain axis, the axis thus hasto be given a movement containing at least one acceleration distance andone deceleration distance. The movement is preferably short but itshould attain as high a velocity as possible to achieve a sufficientlylong acceleration distance. FIG. 5 shows an example of a suitable axismovement for determining the mass inertia of that axis which performsthe movement. The figure shows the angular velocity {dot over(φ)}_(i)(t) and the torque reference signal τ_(i,ref)(t) as functions ofthe time during the movement. The movement starts with an accelerationwhich directly changes into a deceleration. The direction of movement isthe same during the entire movement. It is an advantage if the movementis chosen such that the torque contribution from the gravitation variessymmetrically around the mid-point t_(mid) of the movement, that is,that point of time when the acceleration changes into a deceleration.This means that the torque contributions from the gravitation willcancel one another during the identification and hence no compensationfor the moment of gravitational force is needed. During theidentification of the mass inertia, the motor torque τ_(i,ref)(t) isregistered during the movement as a function of the time or the axisposition and the acceleration {umlaut over (φ)}_(i)(t) as a function oftime or the axis position. Since only one axis is moving, the massinertia J_(i)(t) of the axis will be constant during the movement.

If the movement is such that the torque contribution from thegravitation does not vary symmetrically around the mid-point of themovement, it may become necessary to identify the difference between themoment of gravitational force during the acceleration and the moment ofgravitational force during the deceleration in order for the massinertia of the axis to be calculated. When compensating for varyingmoments of gravitational force, it is necessary to identify the momentof gravitational force at at least two locations in the movement. FIG. 6shows a movement φ_(i)(t) which may be used for identifying the massinertia in case of an unsymmetrical gravitation. The movement firstcomprises a short quick movement A with high acceleration values, whichis used for calculating the mass inertia. Then follow two slow movementsB and C, each of which comprising two different directions of movementand which are performed for axis angles which are positioned on oppositesides of the mid-point of the first movement A. B and C are the samemovement as is shown in FIG. 4. From measured motor references for themovements B and C, the difference between the moments of gravitationalforce for the acceleration and the deceleration may be calculated.

To be able to identify J_(ji), that is, the coupled mass inertia on axisi from axis j, axis j performs the same movement as is shown in FIG. 5while at the same time axis i is run with a low constant velocity toobtain a well-defined state with respect to the friction. The lowvelocity renders all velocity-dependent terms negligible and thecontribution from the gravitation constant. FIG. 7 shows suitablemovements for axis i and axis j for determining the coupled mass inertiabetween axis i and axis j. The figure shows the acceleration {umlautover (φ)}_(i)(t) of axis j as a function of the time and the velocity{dot over (φ)}_(i)(t) of axis i as a function of the time. Further, thereference motor torque for axis i as a function of the time is shown.

For identification of mass inertia and coupled mass inertia, a methodbased on correlation is used. Measured values are then correlated withfunctions of other measured values. When identifying the mass inertia ofan axis, the axis is first accelerated over a distance, whereupon it isdecelerated to a standstill. During this movement, there are summed, foreach measurement moment, the product of the axis torque T_(A)(t_(k)) andthe axis acceleration A_(A)(t_(k)) as well as the accelerationA_(A)(t_(k)) squared. The mass inertia is then identified as thequotient between these sums. Instead of the actual acceleration, thereference acceleration to the controller may be used. The axis torquenormally consists of the reference torque from the controller to thedrive device of the motor.

If the gravitation is changed unsymmetrically around the mid-point ofthe calibration distance, a compensation for the gravitationT_(G)(t_(k)) is made. The expression for the identified mass inertia nowbecomes the sum of T_(A)(t_(k))*A_(A)(t_(k)) minus the sum ofT_(G)(t_(k))*A_(A)(t_(k)), and these two sums are divided by the sum ofA_(A)(t_(k)) squared. The summations are made for all samples t_(k)during the movement. Possibly, a few samples at the beginning and at theend of the movement may be eliminated.

The coupled mass inertia is identified as the sum of the product of theaxis torque for the slow-moving axis T_(Ai)(t_(k)) and the accelerationof the rapidly accelerating/decelerating axis A_(j)(t_(k)), this sumbeing divided by the sum of the acceleration A_(Aj)(t_(k)) of the“rapid” axis squared. Also here the summations are made over essentiallyall the samples t_(k) of the movement. In the embodiment, therelationships between the load parameters and the dynamic parameters,the moment of gravitational force, the mass inertia and the coupled massinertia are used for determining the load parameters. One advantage ofusing precisely these dynamic parameters is that it is sufficient withsmall robot movements for the identification. It is also feasible to usethe torque contributions from the centrifugal forces or the Coriolisforces for calculating the load parameters. However, a disadvantage isthat this requires large robot movements for the torques from theseforces to become sufficiently large.

Identification axes are those axes which are used for the identificationof the dynamic parameters.

What is claimed is:
 1. A method for determining a number of loadparameters (m_(l), x_(l), r_(l), α_(l), I_(x), I_(y), I_(z)) for a load(6) which is carried by a manipulator which comprises a number of links(2,3,4) which are movable in relation to each other, a handling member(5) for supporting a tool or a work object, which handling member ismovable in relation to said links, a number of axes (A1-A6) in relationto which the links or the handling member is movable, and a motor foreach axis which drives the movements of the axis in accordance withsupplied reference values for the torques of the motor, characterized inthat it comprises the steps of: a) appointing at least two of the axesidentification axes, b) the manipulator adopting a first axisconfiguration (K1), c) running both identification axes such that afirst movement is imparted to them which has a substantially constantvelocity and which at first takes place in a first direction and then ina second direction which is opposite to the first one, measuring andrecording the torque and the angle of the identification axes during thefirst movement, calculating the moment of gravitational force(τ_(grav,i)({overscore (φ)}))of the identification axes by summation ofthe mean value of the measured torque in one direction of movement andthe mean value of the measured torque in the other direction ofmovement, d) running the identification axes separately such that asecond movement is imparted to them which comprises an accelerationdistance and a deceleration distance measuring and recording the torqueand the angle of the identification axes during the second movement,determining the acceleration by deriving measured values of the angle,calculating product elements by multiplying measured values of thetorques and the calculated accelerations, whereupon the mass inertia(J_(i)({overscore (φ)})) is calculated by correlation as the sum of theproduct elements divided by the sum of the accelerations squared, e) themanipulator adopting a second axis configuration (K2), whereupon steps cand d are repeated for at least one of the identification axes, f)calculating the load parameters from the calculated moments ofgravitational force and the mass inertias with the aid of the physicaland geometrical relations of the identification axes.
 2. A methodaccording to claim 1, characterized in that for at least one of saidconfigurations, a first one of the identification axes is given amovement which comprises an acceleration distance and a decelerationdistance, during this movement, the angle of the first identificationaxis is measured and recorded, the acceleration of the firstidentification axis is calculated by deriving measured values of theangle, in a second identification axis, the torque of the identificationaxis is measured and recorded, product elements are calculated bymultiplying measured values of the torque of the second identificationaxis and the calculated accelerations for the first identification axis,the coupled mass inertia (J_(ji)({overscore (φ)})) between the first andsecond idenfication axes is calculated by correlation as a sum of theproduct elements divided by the sum of the accelerations for the firstidentification axis squared, the load parameters are calculated from thecalculated moments of gravitational force, the mass inertias and thecoupled mass inertia (J_(ji)({overscore (φ)})) with the aid of thephysical and geometrical relations of the identification axes.
 3. Amethod according to claim 2, characterized in that for calculating thecoupled mass inertia, the second identification axis is given a movementwhich has only one direction and this takes place at the same time asthe first axis is given its movement.
 4. A method according to claim 1,characterized in that the identification axes consist of somecombination of axes A3, A4, A5 and A6.
 5. A method according to claim 1,characterized in that the identification axes consist of axes A5 and A4or A5 and A6.
 6. A method according to claim 1, characterized in thatthe second configuration is obtained by changing the position of atleast one of the axes A4, A5 and A6.
 7. A method according to claim 1,characterized in that the torque constant (k_(t)) of the motor iscalibrated by mounting a load with at least one known load parameter onthe manipulator, whereupon the load parameter is identified according tosteps a-f.
 8. A method according to claim 1, characterized in that thesecond movement is so chosen that the torque contribution from thegravitation varies symmetrically around the mid-point of the movement.9. A method according to claim 1, characterized in that foridentification of the mass inertia, the moment of gravitational force isidentified at at least two locations in the movement, for compensationof varying moments of gravitational force.